Strategy/_archive/Data chat.md
+

Data chat

finished🤖AI4S
repohttps://github.com/art-int-4-science/data_chat
Образ результатаМодуль на платформе, куда можно скинуть данные и получить инсайты по ним
next_stepASK: Даниил ОК на Maxim Shalar Release Candidate (review: /review/inbox/ai4s_maxim_shalar_release_candidate.md). После ОК: сабмит RC ai4s.pro. PaperVizAgent смерджен в dev 2 апр (review: /review/inbox/danil_sherki_papervizagent_dev.md). OPENROUTER_API_KEY нужен для Sprint 31 Neuler.

Ресурсы

Описание

модуль “чат с таблицей” для ученых: загружаешь CSV, задаёшь вопросы на естественном языке, а модуль, строит простые графики/сводки и возвращает ответ текст/таблица/картинка. Цель — закрывать 80% повседневных задач табличного анализа без необходимости писать код руками.

Юзкейсы DataChat

1) QC и “понять, что в таблице вообще происходит”

Что делают: быстро находят пропуски/дубликаты/аномалии/типы/диапазоны, чтобы можно было доверять дальнейшему анализу.
Примеры вопросов:

  • “Где пропуски и в каких столбцах критично?”
  • “Есть ли дубликаты строк/ID?”
  • “Какие значения выглядят невозможными/аномальными?”
    Датасеты для демо/тестов: Titanic (много пропусков, смешанные типы) ([kaggle.com][1]); Adult/Census Income (категориальные + числовые) ([UCI Machine Learning Repository][2]); NHANES (реальные “грязные” обследования) ([CDC][3])
    Бенчмарк:
  • QC-Exact: точность чисел (missing count, duplicate count, min/max) = точное совпадение
  • QC-Explain: качество рекомендаций по чистке (чеклист: корректность, конкретика, отсутствие “галлюцинаций”)

2) “Table 1” и базовые описательные статистики для статьи/отчёта

Что делают: формируют сводную таблицу характеристик по группам (control/treated, когорты, батчи).
Примеры вопросов:

  • “Собери Table 1 по группам: mean±std / median[IQR] + N.”
  • “Сколько наблюдений в каждой группе и сколько пропусков по ключевым признакам?”
    Датасеты: NHANES ([CDC][3]); TCGA clinical (клинические поля, стадии, исходы) ([GDC Portal][4])
    Бенчмарк:
  • Table1-Golden: заранее подготовленный “golden CSV” — сравнение значений с допуском (float tolerance)
  • Format: корректный markdown/CSV вывод (названия групп, единицы, N)

3) Отбор когорты и критерии включения/исключения (cohort builder)

Что делают: фильтруют записи по условиям, считают итоговые размеры групп, проверяют перекосы.
Примеры вопросов:

  • “Оставь только пациентов 18–65, исключи missing по X, посчитай итоговый N.”
  • “Сравни распределения пола/возраста до и после фильтра.”
    Датасеты: MIMIC-IV demo (реальные EHR-таблицы, но небольшой публичный сэмпл) ([PhysioNet][5]); PhysioNet Sepsis Challenge (фильтры по времени/лейблу) ([PhysioNet][6])
    Бенчмарк:
  • Cohort-Counts: совпадение итоговых N по шагам фильтра
  • Leakage check: DataChat должен предупреждать о “подглядывании в будущее” (особенно на sepsis/time)

4) Сравнение групп + эффект, а не только p-value

Что делают: тесты различий, эффекты, доверительные интервалы, визуализация.
Примеры вопросов:

  • “Различается ли Y между A и B? Дай эффект (Cohen’s d / Δmedian) + CI.”
  • “Проверь по батчам отдельно.”
    Датасеты: Wine Quality (группы/качество) ([UCI Machine Learning Repository][7]); Superconductivity Data (много фич + таргет Tc) ([UCI Machine Learning Repository][8])
    Бенчмарк:
  • Stats-Numeric: проверяем численные результаты теста/эффекта vs эталон
  • Assumption hygiene: если t-test неприменим — должен предложить альтернативу (и объяснить)

5) Быстрые связи: корреляции, конфаундеры, “что влияет”

Что делают: корреляции/частичные зависимости/простая регрессия для sanity-check гипотез.
Примеры вопросов:

  • “Какие 5 фич сильнее связаны с Y? Покажи корреляции и scatter.”
  • “Не объясняется ли связь конфаундером (группа/батч)?”
    Датасеты: Adult ([UCI Machine Learning Repository][2]); Ames Housing (много факторов и пропусков) ([kaggle.com][9])
    Бенчмарк:
  • TopK-Stability: совпадение top-K факторов с эталоном (или rank-correlation)
  • Plot-Check: график должен иметь правильные оси/агрегации (валидатор по данным)

6) Выбросы и аномалии: найти, объяснить, исключить

Что делают: детектят выбросы (IQR/z-score), строят списки объектов, дают “почему это выброс”.
Примеры вопросов:

  • “Найди выбросы по Y внутри каждой группы и покажи топ-20.”
  • “Как меняются метрики/средние, если убрать выбросы?”
    Датасеты: NYC TLC Trip Record Data (аномалии в distance/fare/time) ([New York City Government][10]); Titanic ([kaggle.com][1])
    Бенчмарк:
  • Outlier-Set: совпадение множества выбросов при фиксированном правиле
  • Delta-Effect: корректный пересчёт статистик “до/после”

7) Время, батчи, дрейф: “у нас всё поплыло?”

Что делают: агрегации по времени, сравнение периодов, дрейф распределений, batch effects.
Примеры вопросов:

  • “Сравни распределение X между месяцами: где дрейф сильнее?”
  • “Есть ли различия между батчами/приборами?”
    Датасеты: NYC TLC (временные агрегации) ([New York City Government][10]); Matbench (если нужно бенчмарчить поведение на научных наборах) ([matbench.materialsproject.org][11])
    Бенчмарк:
  • Drift-Metric: эталонные PSI/KS по периодам
  • Latency: ограничение на время ответа на больших таблицах/семплах

8) Join нескольких таблиц + аудит ключей (самая частая боль в реальных данных)

Что делают: соединяют таблицы, находят many-to-many, потери строк, несовпадение ключей.
Примеры вопросов:

  • “Сджойнь visits и labs по patient_id; проверь, сколько строк потеряли и почему.”
  • “Найди ключи, которые дублируются и создают раздувание датасета.”
    Датасеты: MIMIC-IV demo (много таблиц, реальные ключи) ([PhysioNet][5]); TCGA clinical ([GDC Portal][4])
    Бенчмарк:
  • Join-Audit: отчёт обязан включать counts до/после + тип join + список проблемных ключей
  • Correctness: итоговый rowcount должен совпадать с эталоном

9) “Быстрая baseline-модель” (опционально, но полезно)

Что делают: без AutoML — простой baseline (logreg/linear), честная валидация, метрики, важности.
Примеры вопросов:

  • “Сделай baseline и оцени качество (AUC/RMSE). Есть ли утечка?”
  • “Какие фичи важнее всего в baseline?”
    Датасеты: Titanic (классификация) ([kaggle.com][1]); Adult (классификация) ([UCI Machine Learning Repository][2]); Ames Housing (регрессия) ([kaggle.com][9]); Superconductivity (регрессия) ([UCI Machine Learning Repository][8])
    Бенчмарк:
  • Repro-Train: один и тот же seed ⇒ те же метрики
  • No-Leak: запрещены признаки-утечки (или обязателен warning)

“DataChatBench” — как собрать бенчмарки в один набор

Минимальный набор, который реально поддерживать:

  • Datasets pack (8–10 штук): Titanic ([kaggle.com][1]), Adult ([UCI Machine Learning Repository][2]), Wine Quality ([UCI Machine Learning Repository][7]), Ames Housing ([kaggle.com][9]), NYC TLC ([New York City Government][10]), NHANES ([CDC][3]), MIMIC-IV demo ([PhysioNet][5]), PhysioNet Sepsis 2019 ([PhysioNet][6]), (опц) Matbench ([matbench.materialsproject.org][11])
  • Task types: QC / Table1 / Cohort / Stats / Join / Drift / Outliers / (опц) Baseline model
  • Метрики:

  • Execution success rate (код выполняется)

  • Answer correctness (числа совпадают с эталоном)
  • Artifact correctness (таблица/картинка реально соответствуют данным)
  • Turns-to-solution (сколько итераций до верного ответа)
  • Latency/cost (время/токены)
  • Safety pass rate (инъекции/опасные запросы не проходят)

Статус интеграции (март 2026)

Код интеграции в монорепо готов (pandakononov + maxim-shalar, фев 2026):
- Backend: DataChatProvider в Chat Service → POST datachat.ai4s.pro/api/run
- Frontend: React компонент с drag-and-drop CSV, WebSocket, графики (base64)
- Helm: env vars AI4S_DATACHAT_BASE_URL, AI4S_DATACHAT_TIMEOUT (optional, default → datachat.ai4s.pro)

Осталось: задеплоить standalone DataChat сервис на datachat.ai4s.pro + обновить Chat Service + E2E тест.

Запихнем его в единую систему

Choose icon